package com.somekim.mythread;

/**
 * @author zdl
 * @version v1.0
 * @date 2019/8/26
 */
public class MyThread1 extends Thread{
    /**
     * 实现过线程方式：
     * 1、继承Thread类
     * 2、实现Runnable接口
     */
    @Override
    public void run() {
        super.run();
        System.out.println("MyThread");
    }
    public static void main(String[] args) {
        MyThread1 myThread = new MyThread1();
        myThread.start();
        System.out.println("运行结束！");
        /**
         * 运行结果上看，run方法执行的时间比较晚、说明在
         * 使用多线程技术时，代码的运行结果与代码执行顺序
         * 或调用顺序是无关的。
         */
        /**
         * 线程是一个子任务，CPU以不确定的按时，或者说是以
         * 随机的时间来调用线程中的run方法，所以就会出现先
         * 打印“运行结束”后输出“MyThread”的结果
         *
         * 如果多次调用start（）方法，则会出现异常
         * Exception in thread "main" java.lang.IllegalThreadStateException
         */

    }
}
